# 商业转载请联系作者获得授权，非商业转载请注明出处。
# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.
# 协议(License)：署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
# 作者(Author)：
# 链接(URL)：http://www.ryuichi.tech/88.html#E_-_Colorful_Blocks
# 来源(Source)：

#include<bits/stdc++.h>
#define ios ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define debug  freopen("in.txt","r",stdin),freopen("out.txt","w",stdout);
#define fs first
#define sc second
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int maxn = 2e5+10;
using namespace std;
 
ll N,K;
int to[maxn];
int st[maxn][70];
void init_ST(){
    for(int i = 1;i<=N;i++) st[i][0] = to[i];
    for(int j = 1;j<=64;j++){
        for(int i = 1;i<=N;i++){
            st[i][j] = st[st[i][j-1]][j-1];
        }
    }
}
int solve(){
    int cur = 1;
    for(int j = 0;j<=64;j++){
        if(K == 0) return cur;
        if((K>>j) & 1){
            cur = st[cur][j];
            K -= (1LL<<j);
        }
    }
    return -1;
}
int main(){
    // debug;
    ios;
    cin>>N>>K;
    for(int i = 1;i<=N;i++) cin>>to[i];
    init_ST();
    cout<<solve()<<'\n';
    return 0;
}
